/**
 * Clase PantallaActualizacionIdentificacion: esta es la pantalla que vera el paciente cuando
 * los datos de identificacion almacenados localmente en su dispositivo movil, no coincidan
 * con los almacenados remotamente en la base de datos
 */

package infbmobile.pantallas;

// Importaciones externas
import com.sun.lwuit.*;
import com.sun.lwuit.animations.CommonTransitions;
import com.sun.lwuit.animations.Transition;
import com.sun.lwuit.events.ActionEvent;
import com.sun.lwuit.layouts.*;
import com.sun.lwuit.events.ActionListener;

// Importaciones internas
import infbmobile.main.*;
import infbmobile.comunicaciones.*;
import infbmobile.util.UIHerramientas;


public class PantallaActualizacionIdentificacion extends Form implements ActionListener {
    // Referencia al midlet principal
    public InfBMobileMedico midlet;

    // Atributos de clase
    private TextField dni;
    private Command comandoActualizar;
    private Command comandoSalir;


    /*
     * Constructor principal de la clase
     */
    public PantallaActualizacionIdentificacion(InfBMobileMedico midlet) {
        super("Actualizacion de Identificacion - HospiGest Pacientes");
        this.midlet=midlet;
        // Nada mas empezar cargamos la alerta al usuario
        Command comandoOk=new Command("OK");
        Transition transicion=CommonTransitions.createSlide(CommonTransitions.SLIDE_VERTICAL,true,1000);
        Dialog.show("Atencion","Sus parametros de conexion a la aplicacion HospiGest no son correctos. Proceda a actualizarlos",comandoOk,new Command[] {comandoOk},Dialog.TYPE_WARNING,null,10000,transicion);
        // Definimos el layout del formulario
        setLayout(new BoxLayout(BoxLayout.Y_AXIS));
        // Creamos y agregamos los componentes especificos de la pantalla
        dni=new TextField(CENTER);
        dni.setConstraint(TextField.ANY);
        addComponent(UIHerramientas.crearPareja("dni: ",dni));
        
        // Configuramos los comandos
        comandoSalir=new Command("Salir");
        addCommand(comandoSalir);
        comandoActualizar=new Command("Actualizar");
        addCommand(comandoActualizar);
        setCommandListener(this);
    }

    public void actionPerformed(ActionEvent evento) {
        Object fuente=evento.getSource();

        // Recogemos de donde vino el evento
        if(fuente==comandoActualizar){
            // Nos conectamos mediante una conexion http al servidor web
            // para actualizar nuestra tarjeta sanitaria y nuestra password
            ComunicacionHttp http=new ComunicacionHttp(ComunicacionHttp.ACTUALIZAR_IDENTIFICACION,"Login",this);
            String[] nombreParametros=new String[]{"accion","perfil","dni"};
            String[] valoresParametros=new String[]{"actualizar_identificacion","paciente",dni.getText()};
            http.setNombreParametros(nombreParametros);
            http.setValoresParametros(valoresParametros);
            http.setCheckSesion(false);
            http.setModoHebra(true);
            http.conectar();
        }else if(fuente==comandoSalir){
            midlet.salir();
        }
    }

}